import {
    loginByCellPhone
} from '../../service/user-api';
Page({
    data: {
        phone: '', // 手机号
        password: '' // 用户密码
    },
    // 表单项内容发生改变的回调
    handleInput(event) {
        let type = event.currentTarget.dataset.type; // data-key=value
        this.setData({
            [type]: event.detail.value
        })
    },
    // 登录的回调
    async login() {
        // 1. 收集表单项数据
        let {
            phone,
            password
        } = this.data;
        /*
         * 手机号验证：
         *   1. 内容为空
         *   2. 手机号格式不正确
         *   3. 手机号格式正确，验证通过
         * */
        if (!phone) {
            // 提示用户
            wx.showToast({
                title: '手机号不能为空',
                icon: 'none'
            })
            return;
        }
        // 定义正则表达式
        let phoneReg = /^1[3-9]\d{9}$/;
        if (!phoneReg.test(phone)) {
            wx.showToast({
                title: '手机号格式错误',
                icon: 'none'
            })
            return;
        }
        if (!password) {
            wx.showToast({
                title: '密码不能为空',
                icon: 'none'
            })
            return;
        }
        // 后端验证
        let result = await loginByCellPhone({
            phone,
            password,
            isLogin: true
        })
        if (result.code === 200) { // 登录成功
            wx.showToast({
                title: '登录成功'
            })
            // 将用户的信息存储至本地
            wx.setStorageSync('userInfo', JSON.stringify(result.profile))
            // 跳转至个人中心personal页面
            wx.reLaunch({
                url: '/pages/personal-page/index'
            })
        } else if (result.code === 400) {
            wx.showToast({
                title: '手机号错误',
                icon: 'none'
            })
        } else if (result.code === 502) {
            wx.showToast({
                title: '密码错误',
                icon: 'none'
            })
        } else {
            wx.showToast({
                title: '登录失败，请重新登录',
                icon: 'none'
            })
        }
    },
})